Apparatuses, systems, and methods for representing user interactions with real-world input devices in a virtual space

ABSTRACT

A key assembly for a keyboard may include a key cap that includes a touch sensor that is communicatively coupled to a control device. When the touch sensor senses a touch event, the touch sensor may send a touch signal to the control device, and when the touch sensor senses an absence of touch, the touch sensor may send a control signal to the control device. The key assembly may further include a switch that is communicatively coupled to the control device and that is movable between a pressed position and an un-pressed position. When the switch is in the pressed position, the switch may send a closed signal to the control device, and when the switch is in the un-pressed position, the switch may send an open signal to the control device. Various other apparatuses, systems, and methods are also disclosed.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/717,725, filed Sep. 27, 2017, the disclosure of which isincorporated, in its entirety, by this reference.

BACKGROUND

Putting on a virtual reality headset may be the beginning of a thrillingexperience, one that may be more immersive than almost any other digitalentertainment or simulation experience available today. Virtual realityheadsets may enable users to travel through space and time, interactwith friends in a three-dimensional world, or play video games in aradically redefined way. Virtual reality headsets may also be used forpurposes other than recreation. Governments may use them for militarytraining simulations, doctors may use them to practice surgery, andengineers may use them as visualization aids. Virtual reality headsetsmay also be used for productivity purposes. Information organization,collaboration, and privacy may all be enabled or enhanced through theuse of virtual reality headsets.

Unfortunately, it may be difficult for users to interact withtraditional computer input devices (e.g., keyboards, mice, trackballs,trackpads, etc.) while wearing virtual reality headsets because virtualreality headsets may prevent the users from seeing the input devices asthey interact with them (e.g., by obstructing a line of sight between auser's eye and an input device). This lack of visual feedback may causeinefficiencies in user interaction with such traditional computer inputdevices while users are wearing virtual reality headsets. For example,users may type on a traditional keyboard at a significantly slower rateand/or may produce more errors while wearing a virtual reality headsetbecause the virtual reality headset may prevent the users from seeingtheir fingers as they interact with the keyboard.

Hence, the instant disclosure identifies and addresses a need forapparatuses, systems, and methods that enable end-users to receivevisual feedback while interacting with computer input devices.

SUMMARY

As will be described in greater detail below, the instant disclosuredescribes various apparatuses, systems, and methods for representinguser interactions with real-world input devices in a virtual space. Forexample, the disclosed systems may provide visual feedback to users asthey interact with real-world input devices (e.g., keyboards) whileusing a virtual reality headset.

In one example, an apparatus for representing user interactions withreal-world input devices in virtual space may include a key assembly fora keyboard that includes a key cap. The key cap may include a touchsensor that is communicatively coupled to a control device. In someexamples, when the touch sensor senses a touch event, the touch sensormay send a touch signal to the control device, and when the touch sensorsenses an absence of touch, the touch sensor may send a control signalto the control device. The key assembly may further include a switchthat is communicatively coupled to the control device and that ismovable between a pressed position and an un-pressed position. In someexamples, when the switch is in the pressed position, the switch maysend a closed signal to the control device, and when the switch is inthe un-pressed position, the switch may send an open signal to thecontrol device.

In some embodiments, the key cap may further include (1) an interfacesurface that is coupled to the touch sensor and (2) a connector. In suchembodiments, the switch may further include a plunger that is coupled tothe connector and that is movable between an extended position and acompressed position. In at least one example, when the switch is in thepressed position, the plunger may be in the compressed position, andwhen the switch is in the un-pressed position, the plunger may be in theextended position. In some embodiments, the interface surface may definea concave depression that is adapted to receive a fingertip of a humanfinger. In at least one example, the touch sensor includes a sensingportion that at least partially covers the interface surface. In someexamples, the touch sensor may be a capacitive touch sensor, and in someexamples, the touch sensor may be a resistive touch sensor.

In addition, a corresponding virtual reality interface system forrepresenting user interactions with real-world input devices in virtualspace may include (1) a head-mounted display, (2) a control device thatis communicatively coupled to the head-mounted display, and (3) akeyboard that includes at least one key assembly. The key assembly mayinclude a key cap that includes a touch sensor that is communicativelycoupled to the control device. In some examples, when the touch sensorsenses a touch event, the touch sensor may send a touch signal to thecontrol device, and when the touch sensor senses an absence of touch,the touch sensor may send a control signal to the control device. Thekey assembly may further include a switch that is communicativelycoupled to the control device and that is movable between a pressedposition and an un-pressed position. In some examples, when the switchis in the pressed position, the switch may send a closed signal to thecontrol device, and when the switch is in the un-pressed position, theswitch may send an open signal to the control device. In some examples,the touch sensor may be a capacitive touch sensor.

In some embodiments, the key cap may further include (1) an interfacesurface that is coupled to the touch sensor and (2) a connector. In suchembodiments, the switch may further include a plunger that is coupled tothe connector and that is movable between an extended position and acompressed position. In some examples, when the switch is in the pressedposition, the plunger may be in the compressed position, and when theswitch is in the un-pressed position, the plunger may be in the extendedposition. In some embodiments, the touch sensor may include a sensingportion that at least partially covers the interface surface, and insome embodiments, the interface surface may define a concave depressionthat is adapted to receive a fingertip of a human finger.

In some additional embodiments, the control device may receive, from thetouch sensor, a touch sensor signal that may include one of (1) thetouch signal and (2) the control signal. In such examples, the controldevice may also receive, from the switch, a switch signal that mayinclude one of (1) the closed signal and (2) the open signal.

In some embodiments, the control device may direct the head-mounteddisplay to present, in a virtual space, a visual representation of thekey assembly. In such embodiments, the visual representation of the keyassembly may be in the un-pressed position when the switch signalincludes the open signal, and the visual representation of the keyassembly may be in the pressed position when the switch signal includesthe closed signal.

In some embodiments, the control device may further direct thehead-mounted display to present, in the virtual space with the visualrepresentation of the key assembly, a visual representation of afingertip. In such embodiments, the visual representation of thefingertip may be in contact with a visual representation of theinterface surface of the key cap when the touch sensor signal includesthe touch signal, and the visual representation of the fingertip may bedisconnected from the visual representation of the key cap when thetouch sensor signal includes the control signal.

In some examples, the keyboard may include at least one additional keyassembly that may be communicatively coupled to the control device. Insuch examples, the control device may receive an additional signal fromthe additional key assembly, and the visual representation of the keyassembly and/or the visual representation of the fingertip may befurther based on the additional signal.

In some embodiments, the keyboard may further include a mounting surfacethat includes a mounting location, and the switch may further include amount that is coupled to the plunger and that is coupled to the mountingsurface at the mounting location. In such embodiments, the controldevice may receive data representative of the mounting location, and thevisual representation of the key assembly in the virtual space may befurther based on the data representative of the mounting location.

In some embodiments, the keyboard may further include a physicalposition indicator. In such embodiments, the control device maydetermine (1) a position of the physical position indicator in aphysical space and (2) a position of the keyboard in the virtual spacebased on the determination of the position of the physical positionindicator in the physical space. The visual representation of the keyassembly in the virtual space may then further be based on thedetermination of the position of the keyboard in the virtual space.

A corresponding method for representing user interactions withreal-world input devices in virtual space may include sensing a touchevent via a touch sensor included in a key cap that is included in a keyassembly of a virtual reality interface system. The method may furtherinclude determining, while the touch sensor senses the touch event, thata switch included in the key assembly has moved from an un-pressedposition to a pressed position. The method may additionally includedirecting, while the switch is in the pressed position and the touchsensor senses the touch event, a head-mounted display included in thevirtual reality interface system to present, in a virtual space, avisual representation of the key assembly in the pressed position and avisual representation of a fingertip in contact with a visualrepresentation of an interface surface of the key cap.

In some examples, the method may further include determining, while thetouch sensor senses the touch event, that the switch has moved from thepressed position to the un-pressed position. In such examples, themethod may further include directing, while the switch is in theun-pressed position and the touch sensor senses the touch event, thehead-mounted display to present, in the virtual space, a visualrepresentation of the key assembly in the un-pressed position and thevisual representation of the fingertip in contact with the visualrepresentation of the interface surface of the key cap.

In additional examples, the method may further include sensing, via thetouch sensor, an absence of touch. In such examples, the method mayfurther include directing, while the switch is in the un-pressedposition and the touch sensor senses an absence of touch, thehead-mounted display to present, in the virtual space, the visualrepresentation of the key assembly in the un-pressed position and avisual representation of a fingertip disconnected from the interfacesurface of the key cap.

Features from any of the above-mentioned embodiments may be used incombination with one another in accordance with the general principlesdescribed herein. These and other embodiments, features, and advantageswill be more fully understood upon reading the following detaileddescription in conjunction with the accompanying drawings and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate a number of exemplary embodimentsand are a part of the specification. Together with the followingdescription, these drawings demonstrate and explain various principlesof the instant disclosure.

FIG. 1 is a perspective view of an exemplary head-mounted-display systemin accordance with some embodiments.

FIG. 2 is a cross-sectional side view of a key assembly in accordancewith some embodiments.

FIGS. 3A through 3C illustrate cross-sectional side views of a keyassembly accordance with some embodiments.

FIG. 4 is a top view of a keyboard that is included in a virtual realityinterface system and that includes at least one key assembly inaccordance with some embodiments.

FIG. 5 is a block diagram of an exemplary display subsystem forrepresenting user interactions with real-world input devices in avirtual space.

FIG. 6 is a block diagram of an exemplary control device forrepresenting user interactions with real-world input devices in avirtual space.

FIG. 7 is a block diagram of an exemplary system for representing userinteractions with real-world input devices in a virtual space.

FIG. 8 is a view of a visual representation of a key assembly and avisual representation of a fingertip in a virtual space in accordancewith some embodiments.

FIG. 9 is a block diagram of an exemplary method for representing userinteractions with real-world input devices in a virtual space.

Throughout the drawings, identical reference characters and descriptionsindicate similar, but not necessarily identical, elements. While theexemplary embodiments described herein are susceptible to variousmodifications and alternative forms, specific embodiments have beenshown by way of example in the drawings and will be described in detailherein. However, the exemplary embodiments described herein are notintended to be limited to the particular forms disclosed. Rather, theinstant disclosure covers all modifications, equivalents, andalternatives falling within the scope of the appended claims.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The present disclosure is generally directed to apparatuses, systems,and methods for representing user interactions with real-world inputdevices in a virtual space. As will be explained in greater detailbelow, embodiments of the instant disclosure may provide visual feedbackto a user of a virtual reality headset while the user also interactswith a real-world input device (e.g., a keyboard). An example keyassembly may include both a touch sensor that may send, to a controldevice, a touch signal when it senses a touch event, and a controlsignal when it senses an absence of touch. The example key assembly mayalso include a switch that is movable (e.g., pressable) between apressed position and an un-pressed position. When the switch is in thepressed position, the switch may send a closed signal to the controldevice, and when the switch is in the un-pressed position, the switchmay send an open signal to the control device.

Based on these and other inputs, the control device may be able todetermine a position of the user's fingertip relative to the example keyassembly. The control device may then use these inputs to direct ahead-mounted display (e.g., a virtual reality headset) to present ordisplay a visual representation of the user's fingertip relative to theexample key assembly within a virtual space. This may provide usefulvisual feedback to the user, and hence allow the user to moreefficiently interact with a keyboard that includes the example keyassembly while using the head-mounted display.

The following will provide, with reference to FIG. 1, examples ofhead-mounted-display systems. In addition, the discussion correspondingto FIGS. 2-8 will provide examples of various apparatuses and systemsfor representing user interactions with real-world input devices in avirtual space. Finally, the discussion corresponding to FIG. 9 willprovide examples of methods for representing user interactions withreal-world input devices in a virtual space.

FIG. 1 is a perspective view of a head-mounted-display system 100 inaccordance with some embodiments. In some embodiments,head-mounted-display system 100 may include a head-mounted-displaydevice 102 (i.e., head-mounted display), audio subsystems 104, a strapassembly 106, and a facial-interface system 108. The term “head-mounteddisplay,” as used herein, generally refers to any type or form ofdisplay device or system that is worn on or about a user's head anddisplays visual content to the user. Head-mounted displays may displaycontent in any suitable manner, including via a screen (e.g., an LCD orLED screen), a projector, a cathode ray tube, an optical mixer, etc.Head-mounted displays may display content in one or more of variousmedia formats. For example, a head-mounted display may display video,photos, and/or computer-generated imagery (CGI). Head-mounted-displaydevice 102 may include a head-mounted-display housing 116 surroundingvarious components of head-mounted-display device 102, including lenses114 and various electronic components, including display components asdescribed above.

Head-mounted displays may provide diverse and distinctive userexperiences. Some head-mounted displays may provide virtual-realityexperiences (i.e., they may display computer-generated or pre-recordedcontent), while other head-mounted displays may provide real-worldexperiences (i.e., they may display live imagery from the physicalworld). Head-mounted displays may also provide any mixture of live andvirtual content. For example, virtual content may be projected onto thephysical world (e.g., via optical or video see-through), which mayresult in augmented reality or mixed reality experiences. Head-mounteddisplays may be configured to be mounted to a user's head in a number ofways. Some head-mounted displays may be incorporated into glasses orvisors. Other head-mounted displays may be incorporated into helmets,hats, or other headwear. Examples of head-mounted displays may includeOCULUS RIFT, GOOGLE GLASS, VIVE, SAMSUNG GEAR, etc.

In some embodiments, audio subsystems 104 may be integrated withhead-mounted-display device 102 and may provide audio signals to theuser's ears. Head-mounted-display system 100 may, for example, have twoaudio subsystems 104 located on the left and right sides ofhead-mounted-display system 100 to provide audio signals to the user'sleft and right ears, as shown in FIG. 1.

Strap assembly 106 may be used for adjustably mountinghead-mounted-display device 102 on the user's head. As shown in FIG. 1,strap assembly 106 may include various straps, such as an upper strapand lower straps, that are coupled to head-mounted-display device 102 toadjustably conform to the top and/or sides of the user's head when theuser is wearing head-mounted-display device 102.

In some embodiments, facial-interface system 108 may be configured tocomfortably rest against a region of the user's face, including a regionsurrounding the user's eyes, when head-mounted-display system 100 isworn by the user. In these embodiments, facial-interface system 108 mayinclude a facial interface 110 that contacts selected regions of theuser's face. Facial interface 110 may surround a viewing region 112 thatincludes the user's field of vision while the user is wearinghead-mounted-display system 100, allowing the user to look throughlenses 114 of head-mounted-display device 102 without interference fromoutside light while the user is wearing head-mounted-display system 100.

FIG. 2 is a cross-sectional side view of an example key assembly 200(“key assembly 200”). As shown, key assembly 200 may include a key cap202 that includes a touch sensor 204. Touch sensor 204 may becommunicatively coupled to control device 206 via a touch sensorconnection 208. In this configuration, when touch sensor 204 senses atouch event (e.g., when a fingertip of a user touches touch sensor 204),the touch sensor sends a touch signal to control device 206.Additionally, when touch sensor 204 senses an absence of touch (e.g.,when touch sensor 204 is not being touched by a fingertip of a user),touch sensor 204 sends a control signal to control device 206.

Touch sensor 204 may be any sensor capable of sensing a touch eventand/or an absence of touch and that may send touch signals and controlsignals to control device 206. For example, touch sensor 204 may be acapacitive touch sensor that utilizes surface capacitance, projectedcapacitance, and/or any other suitable capacitive touch sensingtechnology to sense a touch event (e.g., a touch of a fingertip of auser). In other examples, touch sensor 204 may be a resistive touchsensor, an infrared touch sensor, and/or any other suitable touchsensor.

As further shown in FIG. 2, key assembly 200 may also include a switch210 that is communicatively coupled to control device 206 via switchconnection 212. As shown by movement indicators 224, switch 210 may bemovable between a pressed position and an un-pressed position. In thisconfiguration, when switch 210 is in the pressed position, switch 210may send (e.g., via switch connection 212) a closed signal to controldevice 206. Additionally, when switch 210 is in the un-pressed position,switch 210 may send (e.g., via switch connection 212) an open signal tocontrol device 206.

Switch 210 may represent any switch that is capable of being movedbetween a pressed position and an un-pressed position, and that may sendopen signals and closed signals to control device 206. Examples ofswitch 210 may include, but are not limited to, a mechanical switch, amembrane switch, a dome switch, a scissor switch, a buckling springswitch, a Hall-effect switch, an optical switch, and/or any othersuitable switch.

As will be described in further detail below in reference to FIGS. 6-7,control device 206 may represent any suitable computing device that mayreceive one or more inputs from one or more sensors (e.g., touch sensor204, switch 210, etc.) and that may perform one or more operations inresponse to and/or based on the input received from the one or moresensors. For example, control device 206 may receive, from touch sensor204, a touch sensor signal that includes one of a touch signal and acontrol signal. Additionally or alternatively, control device 206 mayreceive, from switch 210, a switch signal that includes a closed signaland/or an open signal. Additional examples and explanations will beprovided in reference to FIGS. 6-7 below.

Touch sensor connection 208 generally represents any medium orarchitecture capable of facilitating communication or data transfer fromtouch sensor 204 to control device 206. Likewise, switch connection 212generally represents any medium or architecture capable of facilitatingcommunication or data transfer from touch sensor 204 to control device206. Touch sensor connection 208 and/or switch connection 212 mayfacilitate communication or data transfer using wireless and/or wiredconnections. Examples of touch sensor connection 208 and/or switchconnection 212 may include, without limitation, a printed circuit board,a direct cable connection (e.g., USB, serial, APPLE LIGHTNING, APPLETHUNDERBOLT, HDMI, etc.), a Personal Area Network (PAN), a Local AreaNetwork (LAN), an intranet, a Wide Area Network (WAN), the Internet,Power Line Communications (PLC), a cellular network (e.g., a GlobalSystem for Mobile Communications (GSM) network), portions of one or moreof the same, variations or combinations of one or more of the same,and/or any other suitable connection.

In some embodiments, key cap 202 may also include an interface surface214 that is coupled to touch sensor 204. Interface surface 214 mayrepresent a surface of key cap 202 that may be coupled to a touch sensor(e.g., touch sensor 204). In some examples, the interface surface maydefine a concave depression 216 (“depression 216”) that is adapted(e.g., dimensioned and/or sculpted) to receive a fingertip of a humanfinger. Such a depression may aid a user in positioning a fingertip onkey cap 202.

Touch sensor 204 may include a sensing portion 218. Sensing portion 218may represent any portion of touch sensor 204 that is sensitive to atouch event. Sensing portion 218 may be dimensioned to at leastpartially cover interface surface 214. In some embodiments, interfacesurface 214 may be entirely covered by sensing portion 218. Hence, insuch embodiments, any contact a user's fingertip makes with interfacesurface 214 of key cap 202 may result in touch sensor 204 sensing atouch event.

In some embodiments, switch 210 may also include a plunger 220 that iscoupled to key cap 202 via a connector 222. Plunger 220 may be movablebetween an extended position and a compressed position. As indicated bymovement indicators 224, plunger 220 may be movable in a directionparallel to a longitudinal axis of key cap 202, and may be moved betweenan extended position and a compressed position. When the switch is inthe pressed position, plunger 220 is in the compressed position, andwhen the switch is in the un-pressed position, plunger 220 is in theextended position. In some examples, switch 210 may further include amount 226 that is coupled to plunger 220, and which may allow switch 210to be mounted to a mounting surface 228.

Switch 210 may be associated with an actuation force and an actuationdirection. An actuation force associated with switch 210 may representan amount of force that may be applied to switch 210 before switch 210may move from the un-pressed position to the pressed position. Forexample, switch 210 may have an associated actuation force of 60centinewtons. Likewise, an actuation direction associated with switch210 may be a direction relative to switch 210 in which the actuationforce must be applied to switch 210 in order to cause switch 210 to movefrom the un-pressed position to the pressed position. When force thatexceeds the associated actuation force is applied (e.g., by a fingertipof a user) to switch 210 (e.g., via key cap 202) in a direction parallelto an actuation direction of switch 210, switch 210 may move from theun-pressed position to the pressed position. In examples that includeplunger 220, when such force is applied to switch 210, plunger 220 mayalso move from the extended position to the compressed position.

FIGS. 3A through 3C illustrate cross-sectional side views of keyassembly 200 in various configurations. As shown in FIG. 3A, keyassembly 200 is not being touched (e.g., by a fingertip of a user).Hence, in this configuration, touch sensor 204 may sense an absence oftouch. Additionally, no force (i.e., a force that exceeds an actuationforce associated with switch 210) is being applied to key cap 202 (e.g.,by a fingertip of a user), and thus switch 210 is shown in theun-pressed position and plunger 220 is shown in the extended position.In this configuration, touch sensor 204 may send a control signal tocontrol device 206 and switch 210 may send a closed signal to controldevice 206.

In FIG. 3B, a fingertip 302 of a user touches key cap 202 at touchsensor 204, but applies a force to key cap 202—and thus switch 210—thatdoes not exceed an actuation force of switch 210. In this configuration,touch sensor 204 may sense a touch event (e.g., from fingertip 302), andtherefore may send a touch signal to control device 206. However, switch210 remains in the un-pressed position. Hence, switch 210 may send (orcontinue to send) the open signal to control device 206.

In FIG. 3C, fingertip 302 touches key cap 202 at touch sensor 204 andhas applied a force to key cap 202 that has exceeded the actuation forceof switch 210 in the actuation direction (i.e., toward mounting surface228) of switch 210. The applied force has therefore caused switch 210(obscured by key cap 202 in FIG. 3C) to move from the un-pressedposition to the pressed position and plunger 220 to move from theextended position to the compressed position. In this configuration,touch sensor 204 may sense a touch event (e.g., from fingertip 302), andtherefore may send a touch signal to control device 206. And, as switch210 has moved from the un-pressed position to the pressed position,switch 210 may send a closed signal to control device 206.

In some embodiments, at least one key assembly 200 may be included in akeyboard that may be included in a virtual reality interface system.FIG. 4 is a top view of a keyboard 400 that may be included in a virtualreality interface system and that includes at least one key assembly200. As shown, keyboard 400 may include a mounting surface 402. Mountingsurface 402 may be any suitable mounting surface that may receive amount included in key assembly 200 (e.g., mount 226). Additionally,mounting surface 402 may facilitate touch sensor connection 208 betweentouch sensor 204 and control device 206 and/or switch connection 212between switch 210 and control device 206. For example, mounting surface402 may include a printed circuit board that touch sensor 204 and/orswitch 210 may be coupled to and that may facilitate transmission of oneor more signals from touch sensor 204 and/or switch 210 to controldevice 206. In some examples, mounting surface 402 may include a rigidplate that may provide a more secure and/or robust mounting surface forkey assembly 200.

As further shown in FIG. 4, key assembly 200 may be mounted (e.g., viamount 226) at a mounting location 404. Mounting location 404 may be anysuitable mounting location on mounting surface 402. In some examples,mounting location 404 may correspond to a location of a key in apredetermined keyboard layout. For example, as shown in FIG. 4, andassuming that a layout of keyboard 400 corresponds to a QWERTY keyboardlayout, mounting location 404 may correspond to a location of a “J” key.As another example, assuming the layout of keyboard 400 corresponds to aDvorak keyboard layout, mounting location 404 may correspond to alocation of an “H” key.

Keyboard 400 may include an additional key assembly 406 mounted at anadditional mounting location 408. As with mounting location 404,additional mounting location 408 may be any suitable mounting locationon mounting surface 402. Continuing with the previous examples, assumingthe layout of keyboard 400 corresponds to a QWERTY keyboard layout,additional mounting location 408 may correspond to a “U” key, andassuming the layout of keyboard 400 corresponds to a Dvorak keyboardlayout, additional mounting location 408 may correspond to a “G” key.

In some embodiments, keyboard 400 may include one or more additionalsensors and/or indicators that may provide and/or facilitate providingadditional information to control device 206 regarding a position ofkeyboard 400. For example, keyboard 400 may include one or more physicalposition indicators 410 (i.e., physical position indicator 410-1 andphysical position indicator 410-2). As will be described in greaterdetail below in reference to FIG. 7, such physical position indicatorsmay be used by a virtual reality interface system that includes keyboard400 to determine a physical position and/or orientation of keyboard 400.Physical position indicators 410 may be any suitable fiducial markersthat may be detected by a suitable camera. For example, when a virtualreality interface system that includes keyboard 400 also includes aninfrared (IR) camera system, physical position indicators 410 may be IRLEDs and/or small dots of retro-reflective material. For a visible lightcamera system, physical position indicators 410 may include aneasily-distinguishable color or intensity pattern.

In some embodiments, keyboard 400 may also include other sensors thatmay gather data regarding a position of keyboard 400 and communicatethat data back to control device 206. Examples of such additionalsensors may include, without limitation, gyroscopic sensors,accelerometers, altimeters, global positioning system devices, lightsensors, audio sensors, power sensors, and/or any other sensor.

As shown, keyboard 400 may be communicatively coupled to control device206 via keyboard connection 412. As with touch sensor connection 208 andswitch connection 212, keyboard connection 412 generally represents anymedium or architecture capable of facilitating communication or datatransfer from keyboard 400 to control device 206. Keyboard connection412 may facilitate communication or data transfer using wired and/orwireless connections. In some examples, keyboard connection 412 mayfacilitate any or all of the touch sensor connections and switch sensorconnections of the key assemblies included in keyboard 400. Additionallyor alternatively, keyboard connection 412 may facilitate a separate dataconnection for one or more additional components of keyboard 400.Examples of keyboard connection 412 may include, without limitation, aprinted circuit board, a direct cable connection (e.g., USB, serial,APPLE LIGHTNING, APPLE THUNDERBOLT, HDMI, etc.), a PAN, a LAN, anintranet, a WAN, the Internet, PLC, a cellular network (e.g., a GSMnetwork), portions of one or more of the same, variations orcombinations of one or more of the same, and/or any other suitableconnection.

As will be described in greater detail below in reference to FIG. 7,control device 206 may utilize data from the various touch sensors,switches, and other data gathering devices included in keyboard 400 todirect a head-mounted display included in a virtual reality interfacesystem to present, in a virtual space, a visual representation of atleast one key assembly and/or a visual representation of at least onefingertip. Additionally, control device 206 may utilize the provideddata to present a visual representation of a user's hand or handsinteracting with a virtual keyboard. In this and other ways, theapparatuses, systems, and methods described herein may represent userinteractions with real-world input devices in a virtual space, thusproviding visual feedback to a user while the user interacts with thereal-world input devices.

FIG. 5 illustrates an exemplary display subsystem 500 that may bedirected (e.g., by control device 206) to perform various actions torepresent user interactions with real-world input devices in a virtualspace. As shown in FIG. 5, display subsystem 500 may include displaycomputing device 502 for controlling display screen 504. In someembodiments, display subsystem 500 may include a plurality of displays,such as a pair of displays utilized in head-mounted-display device 102.For example, head-mounted-display device 102 may include a pair ofdisplay screens 504 that are each controlled by a separate displaycomputing device 502. Additionally or alternatively, a pair of displayscreens 504 of head-mounted-display device 102 may both be controlled bya single display computing device 502.

According to at least one embodiment, display computing device 502 mayinclude a display driver 506 for driving pixels of display screen 504.Display driver 506 may include any suitable circuitry for drivingdisplay screen 504. For example, display driver 506 may include at leastone integrated circuit (IC). In some examples, display driver 506 mayinclude timing controller (TCON) circuitry that receives image signalsand generates horizontal and vertical timing signals for display screen504. Display driver 506 may, for example, be mounted on an edge of athin-film-transistor (TFT) substrate layer of display screen 504.

As illustrated in FIG. 5, example display subsystem 500 may also includeone or more memory devices, such as memory 508. Memory 508 generallyrepresents any type or form of volatile or non-volatile storage deviceor medium capable of storing data and/or computer-readable instructions.In one example, memory 508 may store, load, and/or maintain one or moreof modules 510. Examples of memory 508 include, without limitation,Random Access Memory (RAM), Read Only Memory (ROM), flash memory, HardDisk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives,caches, variations or combinations of one or more of the same, and/orany other suitable storage memory.

Display subsystem 500 may also include one or more modules 510 forperforming one or more display tasks. As shown in FIG. 5, displaysubsystem 500 may include a graphics control module 512 that providesdisplay data and control signals to display driver 506 for producingimages on display screen 504. Graphics control module 512 may include,for example, a video card and/or video adapter that is used to providevideo data and/or display control signals to display screen 504. In someexamples, video data may include text, graphics, images, moving videocontent, and/or any other suitable image content to be presented ondisplay screen 504.

In at least one embodiment, display subsystem 500 may include acalibration data module 514 that stores and utilizes calibration datafor display screen 504. For example, calibration data module 514 mayinclude calibration data, such as correction factors, that are appliedto video data utilized by display driver 506 to produce calibratedimages on display screen 504.

Additionally, display subsystem 500 may include a communication module516 that receives video data and/or calibration data from one or morecomputing devices. For example, communication module 516 may receivevideo data to be displayed on display screen 504 from any suitable videoand/or image source. Communication module 516 may also, for example,receive calibration data from a display calibration system. In someexamples, communication module 516 may also receive user input suppliedby a user via an input-output device (e.g., touch screens, buttons,joysticks, click wheels, scrolling wheels, touch pads, key pads,keyboards, microphones, speakers, tone generators, position and/ororientation sensors, vibrators, cameras, sensors, light-emitting diodesand/or other status indicators, data ports, etc.) to display subsystem500. In at least one example, communication module 516 may also senddata from display subsystem 500 to external devices and/or to a user.

In certain embodiments, one or more of modules 510 in FIG. 5 mayrepresent one or more software applications or programs that, whenexecuted by a computing device, may cause the computing device toperform one or more tasks. For example, and as will be described ingreater detail below, one or more of modules 510 may represent modulesstored and configured to run on one or more computing devices (e.g.,head-mounted-display device 102 shown in FIG. 1). One or more of modules510 in FIG. 5 may also represent all or portions of one or morespecial-purpose computers configured to perform one or more tasks.

As illustrated in FIG. 5, example display subsystem 500 may also includeone or more physical processors, such as physical processor 518.Physical processor 518 generally represents any type or form ofhardware-implemented processing unit capable of interpreting and/orexecuting computer-readable instructions. In one example, physicalprocessor 518 may access and/or modify one or more of modules 510 storedin memory 508. Additionally or alternatively, physical processor 518 mayexecute one or more of modules 510 to facilitate calibration of displayscreen 504. Examples of physical processor 518 include, withoutlimitation, microprocessors, microcontrollers, Central Processing Units(CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcoreprocessors, Application-Specific Integrated Circuits (ASICs), portionsof one or more of the same, variations or combinations of one or more ofthe same, and/or any other suitable physical processor.

Display subsystem 500 may receive (e.g., from control device 206 via oneor more modules 510) one or more instructions that may direct displaysubsystem 500 to display, via display screen 504, a visualrepresentation of one or more user interface objects within a virtualspace. Such user interface objects may include, without limitation, akey assembly, a keyboard, a fingertip, a hand, and so forth. Bypresenting these user interface objects by way of display screen 504 asdirected by control device 206, display subsystem 500 may provide usefulfeedback regarding use of a real-world input device (e.g., keyboard 400)to a user while the user is wearing head-mounted display 102.Accordingly, display subsystem 500 may work in concert with controldevice 206 to represent user interactions with real-world input devicesin a virtual space.

FIG. 6 illustrates a block diagram of control device 206 that mayfacilitate representing user interactions with real-world input devicesin a virtual space. As illustrated in this figure, control device 206may include one or more modules 602 for performing one or more tasks. Aswill be described in greater detail below, modules 602 may include areceiving module 604 that receives, from touch sensor 204, a touchsensor signal that includes one of a touch signal and a control signal.Receiving module 604 may also receive, from switch 210, a switch signalthat includes one of a closed signal and an open signal.

In addition, in some embodiments, receiving module 604 may receivesignals in addition to the touch sensor signal and the switch signal.For example, in some embodiments, receiving module 604 may receive anadditional signal (e.g., an additional touch signal, an additionalswitch signal, etc.) from an additional key assembly included in akeyboard (e.g., keyboard 400). Additionally, receiving module 604 mayreceive data representative of a mounting location of a key assemblywithin a mounting surface of a keyboard (e.g., keyboard 400), datarepresentative of a position and/or orientation of a keyboard (e.g.,keyboard 400), and any other data and/or signal that may serve aparticular implementation.

As further shown in FIG. 6, modules 602 may further include a directingmodule 606 that directs a head-mounted display (e.g.,head-mounted-display device 102) to present, in a virtual space, avisual representation of a key assembly (e.g., key assembly 200).Directing module 606 may direct the head-mounted display to present thevisual representation of the key assembly in an un-pressed position whenthe switch signal includes the open signal, and in a pressed positionwhen the switch signal includes the closed signal. Additionally,directing module 606 may direct the head-mounted display (e.g.,head-mounted-display device 102) to present, in the virtual space withthe visual representation of the key assembly, a visual representationof a fingertip. Directing module 606 may direct the head-mounted displayto present the visual representation of the fingertip in contact with avisual representation of an interface surface of the key cap (e.g.,interface surface 214) when the touch sensor signal includes the touchsignal, and disconnected from the visual representation of the key capwhen the touch sensor signal includes the control signal.

In some embodiments, as will be described in greater detail below,directing module 606 may direct display subsystem 500 to present thevisual representation of the key cap and/or the visual representation ofthe fingertip based on additional data, such as additional data receivedfrom one or more other modules 602 (e.g., receiving module 604,determining module 608, and/or communication module 610). For example,in embodiments where receiving module 604 receives an additional signalfrom an additional key assembly included in a keyboard (e.g., keyboard400), directing module 606 may base the visual representation of the keycap and/or the visual representation of the fingertip based on theadditional signal from the additional key assembly.

In some embodiments, modules 602 may also include a determining module608 that may determine a position of at least one physical positionindicator included in a keyboard (e.g., keyboard 400) in a physicalspace. Determining module 608 may also determine a position of thekeyboard in a virtual space based on the determination of the positionof the physical position indicator in the physical space. Determiningmodule 608 may perform these tasks in any suitable way, such as bycalculating the position of the keyboard in the virtual space based onan observed position of the physical position indicators in the physicalspace. Additionally or alternatively, in some embodiments, determiningmodule 608 may determine the position of the keyboard in the virtualspace based on data gathered by one or more sensors included in ahead-mounted-display system (e.g., head-mounted-display system 100)and/or one or more sensors included in a keyboard (e.g., keyboard 400).As will be explained in greater detail below, modules 602 may furtherinclude a communication module 610 that communicates with one or moredevices, such as head-mounted-display system 100, keyboard 400, and/ordisplay screen 504. In at least one example, communication module 610may also send data from control device 206 to other external devicesand/or to a user.

In certain embodiments, one or more of modules 602 in FIG. 6 mayrepresent one or more software applications or programs that, whenexecuted by subsystem 600, may cause subsystem 600 to perform one ormore tasks. As illustrated in FIG. 6, subsystem 600 may also include oneor more memory devices, such as memory 612.

Memory 612 generally represents any type or form of volatile ornon-volatile storage device or medium capable of storing data and/orcomputer-readable instructions. In one example, memory 612 may store,load, and/or maintain one or more of modules 602.

Subsystem 600 may also include one or more physical processors, such asphysical processor 614. Physical processor 614 generally represents anytype or form of hardware-implemented processing unit capable ofinterpreting and/or executing computer-readable instructions. In oneexample, physical processor 614 may access and/or modify one or more ofmodules 602 stored in memory 612. Additionally or alternatively,physical processor 614 may execute one or more of modules 602 tofacilitate representing user interactions with real-world input devicesin a virtual space.

Although illustrated as separate computing devices herein, in someimplementations display computing device 502 and control device 206 mayshare one or more components and/or functions. For example, in someimplementations, functions performed by physical processor 518 may beperformed by physical processor 614 and/or one or more functionsperformed by physical processor 614 may be performed by physicalprocessor 518. Additionally or alternatively, one or more modules 510may be stored in memory 612, and/or one or more modules 602 may bestored in memory 508.

FIG. 7 illustrates an exemplary virtual reality interface system 700 forrepresenting user interactions with real-world input devices in avirtual space. As shown, virtual reality interface system 700 mayinclude head-mounted-display system 100, shown in FIG. 7 as being wornby a user 702. Virtual reality interface system 700 may also include akeyboard 400. Keyboard 400 may be communicatively coupled to controldevice 206, which may include modules 602 and physical processor 614.

Although not shown expressly in FIG. 7, as described above, keyboard 400may include key assembly 200. Key assembly 200 may include key cap 202that may include touch sensor 204 that is communicatively coupled (e.g.,via touch sensor connection 208) to control device 206. When touchsensor 204 senses a touch event (e.g., from a fingertip of user 702),touch sensor 204 may send a touch signal to control device 206. Whentouch sensor 204 senses an absence of touch (e.g., user 702 is nottouching touch sensor 204), touch sensor 204 may send a control signalto control device 206.

Key assembly 200 may also include a switch 210 that may becommunicatively coupled (e.g., via switch connection 212) to controldevice 206, and that may be movable between a pressed position and anun-pressed position. When switch 210 is in the pressed position (e.g.,user 702 is pressing switch 210), switch 210 may send a closed signal tocontrol device 206. When switch 210 is in the un-pressed position,switch 210 may send an open signal to control device 206.

As mentioned above, control device 206 may receive via one or moremodules 602 (e.g., receiving module 604) switch data 704 that indicatesswitch position 706 from switch 210 and touch data 708 that indicatestouch sense 710 from touch sensor 204. From the combination of switchposition 706 and touch sense 710, one or more modules 602 may be able toconstruct a model for displaying, via display screen 504, a relationshipbetween key assembly 200 and a fingertip in a virtual space.

For example, when switch position 706 indicates that switch 210 is inthe open position (i.e., when switch position 706 includes an opensignal from switch 210), one or more modules 602 (e.g., directing module606) may direct (e.g., via display subsystem 500) display screen 504 topresent, in a virtual space, a visual representation of key assembly 200where key assembly 200 is in the un-pressed position. Additionally, whenswitch position 706 indicates that switch 210 is in the closed position(i.e., when switch position 706 includes a closed signal from switch210), one or more of modules 602 may direct display screen 504 topresent, in the virtual space, a visual representation of key assembly200 where key assembly 200 is in the closed position.

As another example, when touch sense 710 indicates that touch sensor 204is being touched (e.g., when touch sense 710 includes a touch signal),one or more modules 602 (e.g., directing module 606) may direct (e.g.,via display subsystem 500) display screen 504 to present, in a virtualspace, a visual representation of a fingertip where the fingertip is incontact with a visual representation of interface surface 214. This maycause the visual representation of the fingertip to appear as if it isresting on and/or pressing the visual representation of the keyassembly. Additionally, when touch sense 710 indicates that touch sensor204 is not being touched (i.e., when touch sense 710 includes a controlsignal), one or more modules 602 may direct display screen 504 topresent, in the virtual space, a visual representation of the fingertipwhere the fingertip is disconnected from the visual representation thekey assembly. This may cause the visual representation of the fingertipto appear as if it is hovering above and/or preparing to press thevisual representation of the key cap.

Control device 206 may also receive keyboard data 712 that includes dataregarding additional attributes of elements of keyboard 400. Forexample, as mentioned above, in addition to key assembly 200, keyboard400 may also include an additional key assembly 406 that may also becommunicatively coupled to control device 206. Control device 206 mayreceive an additional switch position 714 and an additional touch sense716 from additional key assembly 406, and may further base the visualrepresentation of the key assembly and the visual representation of thekey cap in the virtual space on the additional switch position and theadditional touch sense. For example, when additional touch sense 716indicates that additional key assembly 406 is being touched (i.e., whenadditional touch sense includes a touch signal from a touch sensor ofadditional key assembly 406), the visual representation of the fingertipmay appear as if it is not hovering above and/or preparing to press thevisual representation of the key cap. Additionally or alternatively, thevisual representation of the fingertip may appear as if it is in contactwith an interface surface of a key cap of additional key assembly 406.

In at least one embodiment, keyboard 400 may include mounting surface402, with key assembly 200 mounted at mounting location 404. Controldevice 206 may receive (e.g., via receiving module 604) datarepresentative of mounting location 404 as key position 718, and mayfurther base the representation of the key assembly in the virtual spaceon key position 718. For example, if key position 718 indicates that alayout of keyboard 400 corresponds to a QWERTY keyboard layout and thatmounting location 404 corresponds to a location of a “J” key, the visualrepresentation of key assembly 200 in the virtual space may indicatethat key assembly 200 is a “J” key. Hence, a visual representation of afingertip in the virtual space may appear to be interacting with (e.g.,pressing, not pressing, waiting to press, moving relative to, etc.) a“J” key.

In some examples, keyboard 400 also includes at least one physicalposition indicator 410. Control device 206 may determine (e.g., via oneor more of modules 602, such as determining module 608) a position of atleast one physical position indicator 410 in a physical space, and thenuse that determined position of physical position indicator 410 in thephysical space to determine a position of keyboard 400 in the virtualspace, and store that position of the keyboard in the virtual space askeyboard position 720.

Control device 206 may determine a position of physical positionindicator 410 in a physical space in a variety of ways. For example,head-mounted-display system 100 may include a camera 722. Camera 722 maybe configured to detect particular wavelengths of light that may beproduced and/or directed toward camera 722 by at least one of physicalposition indicator 410. Head-mounted-display system 100 may transmitthat camera data to control device 206 via a suitable wired and/orwireless connection. Based on the camera data, one or more modules 602of control device 206 may be able to calculate a physical position ofphysical position indicator 410 in a physical space relative to camera722, and thus a physical position of keyboard 400 relative to camera 722in the physical space. Control device 206 may then store the calculatedphysical position of keyboard 400 relative to camera 722 and/orhead-mounted-display system 100 as keyboard position 720.

One or more modules 602 (e.g., directing module 606, determining module608, etc.) may then further base the visual representation of keyassembly 200 in the virtual space on keyboard position 720. For example,when keyboard position 720 indicates a position of keyboard 400 in aphysical space, and key position 718 indicates that key assembly 200 islocated on keyboard 400 at a position of a “J” key, control device 206may direct, via one or more of modules 602, display screen 504 topresent the visual representation of key assembly 200 in the virtualspace at a position relative to keyboard 400 and/or one or more ofphysical position indicators 410 corresponding to a “J” key.

In some embodiments, control device 206 may direct display screen 504,via display subsystem 500, to present additional elements in the virtualspace. For example, in some examples, keyboard 400 may include aplurality of key assemblies that each provide switch data, touch data,and key position data to control device 206. Based on this aggregatedata, control device 206 may determine positions of and render keys,keyboards, fingers, hands, and other objects within the virtual space.

FIG. 8 is a view of a visual representation of a key assembly and avisual representation of a fingertip in a virtual space in accordancewith some embodiments. As shown, FIG. 8 shows a virtual space 800 thatincludes a virtual key assembly 802 and a virtual fingertip 804. As user702 touches and/or refrains from touching key assembly 200 (i.e.,touches and/or refrains from touching touch sensor 204), virtualfingertip 804 may appear to contact and disconnect from virtual keyassembly 802. As user 702 presses key assembly 200 (i.e., moves switch210 between the pressed and un-pressed positions), virtual key assembly802 moves between the pressed and un-pressed positions. This may providevisual feedback to user 702 as he or she interacts with key assembly200. For example, as user 702 presses (e.g., actuates) key assembly 200,virtual fingertip 804 may appear to press virtual key assembly 802. Whenthe user releases key assembly 200, virtual fingertip 804 may appear torelease virtual key assembly 802. Furthermore, if user 702 merely restshis or her fingertip on key assembly 200, virtual fingertip 804 may alsoappear to rest on (e.g., touch but not press) virtual key assembly 802.

As shown, virtual space 800 also includes a virtual keyboard 806 andvirtual hands 808. As mentioned above, in some embodiments, some or allof the keys on keyboard 400 may be key assemblies similar to keyassembly 200, and each may provide corresponding touch and/or switchdata to control device 206. Combined with keyboard data 712, controldevice 206 may use this aggregate data to present virtual keyboard 806in the virtual space, and animate virtual hands 808 that reflectpositioning of and/or movements of the fingertips and/or hands of user702 as he or she interacts with keyboard 400. This may provide usefulfeedback to user 702 that may allow user 702 to more efficientlyinteract with keyboard 400 while using head-mounted-display system 100.

FIG. 9 is a flow diagram of an exemplary computer-implemented method 900for representing user interactions with real-world input devices in avirtual space. The operations shown in FIG. 9 may be performed by anysuitable computer-executable code and/or computing system, includingdisplay subsystem 500 in FIG. 5, control device 206 in FIG. 6, virtualreality interface system 700 in FIG. 7, and/or variations orcombinations of the same. In one example, each of the steps shown inFIG. 9 may represent an algorithm whose structure includes and/or isrepresented by multiple sub-steps, examples of which will be provided ingreater detail below.

As illustrated in FIG. 9, at operation 902 one or more of the systemsand/or apparatuses described herein may sense a touch event via a touchsensor included in a key cap included in a key assembly of a virtualreality interface system. The systems and/or apparatuses describedherein may perform this operation in any of the ways described herein.For example, as described above, a user (e.g., user 702) may touch atouch sensor 204 included in key cap 202 included in key assembly 200 ofvirtual reality interface system 700. This may cause one or more ofmodules 602 (e.g., receiving module 604, directing module 606,determining module 608, etc.) to sense, via touch sensor 204, a touchevent.

At operation 904 in FIG. 9, one or more of the systems and/orapparatuses described herein may determine, while a touch sensor sensesa touch event, that a switch included in a key assembly of a virtualreality interface system has moved from an un-pressed position to apressed position. The systems and/or apparatuses described herein mayperform this operation in any of the ways described herein. For example,a user (e.g., user 702) may, while touching touch sensor 204, press keycap 202 in an actuation direction and with an actuation force associatedwith switch 210. This may cause switch 210 to move from the un-pressedposition to the pressed position. One or more modules 602 (e.g.,receiving module 604, directing module 606, determining module 608,etc.) may then determine, while touch sensor 204 senses the touch event,that switch 210 has moved from the un-pressed position to the pressedposition.

At operation 906 in FIG. 9, one or more of the systems and/orapparatuses described herein may direct, while the switch is in thepressed position and the touch sensor senses the touch event, ahead-mounted display included in the virtual reality interface system topresent, in a virtual space, a visual representation of the key assemblyin the pressed position and a visual representation of a fingertip incontact with a visual representation of an interface surface of the keycap. The systems and/or apparatuses described herein may perform thisoperation in any of the ways described herein. For example, directingmodule 606 may direct, while switch 210 is in the pressed position andtouch sensor 204 senses the touch event, display screen 504 included inhead-mounted-display system 100 to present, in a virtual space (e.g.,virtual space 800), a visual representation of the key assembly (e.g.,virtual key assembly 802) in the pressed position and a visualrepresentation of a fingertip (e.g., virtual fingertip 804) in contactwith a visual representation of an interface surface of the key cap.

According to some embodiments, one or more of the systems and/orapparatuses described herein may also determine, while the touch sensorsenses the touch event, that the switch has moved from the pressedposition to the un-pressed position. The systems and/or apparatusesdescribed herein may perform this operation in any of the ways describedherein. For example, a user (e.g., user 702) may move switch 210 fromthe pressed position to the un-pressed position while continuing totouch touch sensor 204. One or more modules 602 (e.g., receiving module604, determining module 608, etc.) may then determine, while touchsensor 204 senses the touch event, that switch 210 has moved from thepressed position to the un-pressed position.

One or more of the systems and/or apparatuses described herein may thendirect, while the switch is in the un-pressed position and the touchsensor senses the touch event, the head-mounted display to present, inthe virtual space, a visual representation of the key assembly in theun-pressed position and the visual representation of the fingertip incontact with the visual representation of the interface surface of thekey cap. The systems and/or apparatuses described herein may performthis operation in any of the ways described herein. For example,directing module 606 may direct, while switch 210 is in the un-pressedposition and touch sensor 204 senses the touch event, display screen 504included in head-mounted-display system 100 to present, in the virtualspace (e.g., virtual space 800), a visual representation of the keyassembly (e.g., virtual key assembly 802) in the un-pressed position andthe visual representation of the fingertip (e.g., virtual fingertip 804)in contact with the visual representation of the interface surface ofthe key cap.

According to some embodiments, one or more of the systems and/orapparatuses described herein may also sense, via the touch sensor, anabsence of touch. The systems and/or apparatuses described herein mayperform this operation in any of the ways described herein. For example,a user (e.g., user 702) may refrain from touching touch sensor 204. Thismay cause one or more of modules 602 (e.g., receiving module 604,determining module 608, etc.) to sense, via touch sensor 204, an absenceof touch.

One or more of the systems and/or apparatuses described herein may thendirect, while the switch is in the un-pressed position and the touchsensor senses an absence of touch, the head-mounted display to present,in the virtual space, the visual representation of the key assembly inthe un-pressed position and a visual representation of a fingertipdisconnected from the interface surface of the key cap. The systemsand/or apparatuses described herein may perform this operation in any ofthe ways described herein. For example, directing module 606 may direct,while switch 210 is in the un-pressed position and touch sensor sensesan absence of touch, display screen 504 included in head-mounted-displaysystem 100 to present, in virtual space 800, the visual representationof the key assembly (e.g., virtual key assembly 802) in the un-pressedposition and a visual representation of a fingertip (e.g., virtualfingertip 804) disconnected from the interface surface of the key cap.

As discussed throughout the instant disclosure, the disclosedapparatuses, systems, and methods may provide one or more advantagesover traditional virtual reality interface systems. For example, theapparatuses, systems, and methods disclosed herein may, by detectingwhether a user is touching and/or actuating a switch included in anexemplary key assembly, direct a head-mounted display (e.g., a virtualreality headset) to present a visual representation of the user'sinteraction with the key assembly within a virtual space. This mayprovide useful visual feedback to the user, and hence allow the user tomore efficiently interact with a keyboard that includes the key assemblywhile using the head-mounted display. This may also increase a user'sproductivity while using the head-mounted display, and increase usersatisfaction with the head-mounted display and/or the virtual realityinterface system.

As detailed above, the computing devices and systems described and/orillustrated herein broadly represent any type or form of computingdevice or system capable of executing computer-readable instructions,such as those contained within the modules described herein. In theirmost basic configuration, these computing device(s) may each include atleast one memory device and at least one physical processor.

Although illustrated as separate elements, the modules described and/orillustrated herein may represent portions of a single module orapplication. In addition, in certain embodiments one or more of thesemodules may represent one or more software applications or programsthat, when executed by a computing device, may cause the computingdevice to perform one or more tasks. For example, one or more of themodules described and/or illustrated herein may represent modules storedand configured to run on one or more of the computing devices or systemsdescribed and/or illustrated herein. One or more of these modules mayalso represent all or portions of one or more special-purpose computersconfigured to perform one or more tasks.

In addition, one or more of the modules described herein may transformdata, physical devices, and/or representations of physical devices fromone form to another. For example, one or more of the modules recitedherein may receive sensor to be transformed, transform the sensor,output a result of the transformation to render a visual representationof a fingertip interacting with a key assembly in a virtual space, usethe result of the transformation to present the visual representation ofthe fingertip interacting with the key assembly in the virtual space byway of a head-mounted display, and store the result of thetransformation to manipulate, animate, and/or adjust the visualrepresentation of the fingertip interacting with the key assembly in thevirtual space. Additionally or alternatively, one or more of the modulesrecited herein may transform a processor, volatile memory, non-volatilememory, and/or any other portion of a physical computing device from oneform to another by executing on the computing device, storing data onthe computing device, and/or otherwise interacting with the computingdevice.

The process parameters and sequence of the steps described and/orillustrated herein are given by way of example only and can be varied asdesired. For example, while the steps illustrated and/or describedherein may be shown or discussed in a particular order, these steps donot necessarily need to be performed in the order illustrated ordiscussed. The various exemplary methods described and/or illustratedherein may also omit one or more of the steps described or illustratedherein or include additional steps in addition to those disclosed.

The preceding description has been provided to enable others skilled inthe art to best utilize various aspects of the exemplary embodimentsdisclosed herein. This exemplary description is not intended to beexhaustive or to be limited to any precise form disclosed. Manymodifications and variations are possible without departing from thespirit and scope of the instant disclosure. The embodiments disclosedherein should be considered in all respects illustrative and notrestrictive. Reference should be made to the appended claims and theirequivalents in determining the scope of the instant disclosure.

Unless otherwise noted, the terms “connected to” and “coupled to” (andtheir derivatives), as used in the specification and claims, are to beconstrued as permitting both direct and indirect (i.e., via otherelements or components) connection. In addition, the terms “a” or “an,”as used in the specification and claims, are to be construed as meaning“at least one of.” Finally, for ease of use, the terms “including” and“having” (and their derivatives), as used in the specification andclaims, are interchangeable with and have the same meaning as the word“comprising.”

What is claimed is:
 1. A key assembly for a keyboard, the key assemblycomprising: a key cap comprising: a touch sensor communicatively coupledto a control device; and a switch communicatively coupled to the controldevice and movable between a pressed position and an un-pressedposition, the switch comprising a plunger that is movable between anextended position and a compressed position; wherein: when the switch isin the pressed position, the plunger is in the compressed position andthe switch sends a closed signal to the control device; when the switchis in the un-pressed position, the plunger is in the extended position;and the control device: receives, from the switch upon the switch movingfrom the un-pressed position to the pressed position, a switch signalcomprising the closed signal; and directs a head-mounted display toanimate, at a virtual location in a virtual space corresponding to areal-world location of the key assembly and in real-time relative to theswitch moving from the un-pressed position to the pressed position, avisual representation of a fingertip moving a visual representation ofthe key assembly from the un-pressed position to the pressed position.2. The key assembly of claim 1, wherein the touch sensor comprises acapacitive touch sensor.
 3. The key assembly of claim 1, wherein thetouch sensor comprises a resistive touch sensor.
 4. The key assembly ofclaim 1, wherein: when the touch sensor senses a touch event, the touchsensor sends a touch signal to the control device; and when the touchsensor senses an absence of touch, the touch sensor sends a controlsignal to the control device.
 5. The key assembly of claim 1, wherein:when the switch is in the un-pressed position, the plunger is in theextended position and the switch sends an open signal to the controldevice; and the switch signal further comprises at least one of: theclosed signal; or the open signal.
 6. The key assembly of claim 1,wherein the key cap further comprises an interface surface that iscoupled to the touch sensor.
 7. The key assembly of claim 6, wherein theinterface surface defines a concave depression that is adapted toreceive a fingertip of a human finger.
 8. The key assembly of claim 6,wherein the touch sensor comprises a sensing portion that at leastpartially covers the interface surface.
 9. A virtual reality interfacesystem comprising: a head-mounted display; a control devicecommunicatively coupled to the head-mounted display; and a keyboardcomprising at least one key assembly comprising: a key cap comprising: atouch sensor communicatively coupled to the control device; and a switchcommunicatively coupled to the control device and movable between apressed position and an un-pressed position, the switch comprising aplunger that is movable between an extended position and a compressedposition; wherein: when the switch is in the pressed position, theplunger is in the compressed position and the switch sends a closedsignal to the control device; and when the switch is in the un-pressedposition, the plunger is in the extended position; and the controldevice: receives, from the switch upon the switch moving from theun-pressed position to the pressed position, a switch signal comprisingthe closed signal; and directs the head-mounted display to animate, at avirtual location in a virtual space corresponding to a real-worldlocation of the key assembly and in real-time relative to the switchmoving from the un-pressed position to the pressed position, a visualrepresentation of a fingertip moving a visual representation of the keyassembly from the un-pressed position to the pressed position.
 10. Thevirtual reality interface system of claim 9, wherein the touch sensorcomprises a capacitive touch sensor.
 11. The virtual reality interfacesystem of claim 9, wherein the key cap further comprises an interfacesurface that is coupled to the touch sensor.
 12. The virtual realityinterface system of claim 11, wherein the touch sensor comprises asensing portion that at least partially covers the interface surface.13. The virtual reality interface system of claim 11, wherein theinterface surface defines a concave depression that is adapted toreceive a fingertip of a human finger.
 14. The virtual reality interfacesystem of claim 11, wherein: when the touch sensor senses a touch event,the touch sensor sends a touch signal to the control device; and whenthe touch sensor senses an absence of touch, the touch sensor sends acontrol signal to the control device; and the control device receives,from the touch sensor, a touch sensor signal comprising at least one of:the touch signal; or the control signal.
 15. The virtual realityinterface system of claim 14, wherein: the keyboard comprises at leastone additional key assembly that is communicatively coupled to thecontrol device; the control device receives an additional signal fromthe additional key assembly; and at least one of the visualrepresentation of the key assembly and the visual representation of thefingertip is further based on the additional signal.
 16. The virtualreality interface system of claim 14, wherein the visual representationof the key assembly is in the pressed position when the switch signalincludes the closed signal.
 17. The virtual reality interface system ofclaim 16, wherein: the visual representation of the fingertip is incontact with a visual representation of the interface surface of the keycap when the touch sensor signal includes the touch signal; and thevisual representation of the fingertip is disconnected from the visualrepresentation of the key cap when the touch sensor signal includes thecontrol signal.
 18. A method comprising: sensing a touch event via atouch sensor included in a key cap included in a key assembly of avirtual reality interface system; determining, while the touch sensorsenses the touch event, that a switch included in the key assembly hasmoved from an un-pressed position to a pressed position; and directing,while the touch sensor senses the touch event, a head-mounted displayincluded in the virtual reality interface system to animate, at avirtual location in a virtual space corresponding to a real-worldlocation of the key assembly and in real-time relative to the switchmoving from the un-pressed position, based on sensing the touch eventand determining that the switch has moved from the un-pressed positionto the pressed position, a visual representation of a fingertip moving avisual representation of the key assembly from the un-pressed positionto the pressed position.
 19. The method of claim 18, further comprising:determining, while the touch sensor senses the touch event, that theswitch has moved from the pressed position to the un-pressed position;and directing, while the switch is in the un-pressed position and thetouch sensor senses the touch event, the head-mounted display topresent, in the virtual space, a visual representation of the keyassembly returning to the un-pressed position with the visualrepresentation of the fingertip in contact with the visualrepresentation of the key cap.
 20. The method of claim 19, furthercomprising: sensing, via the touch sensor, an absence of touch; anddirecting, while the switch is in the un-pressed position and the touchsensor senses the absence of touch, the head-mounted display to present,in the virtual space, the visual representation of the key assembly inthe un-pressed position and the visual representation of a fingertipdisconnected from the key cap.